home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / random.lqr / RANDOM.PAS next >
Pascal/Delphi Source File  |  1985-07-02  |  2KB  |  45 lines

  1. Random routines written by Charles Brabec
  2.   for use with IBM PASCAL compiler and DOS 2.x
  3.  
  4.  
  5.  
  6. ************************************************************************
  7. *** The following code is used to allow a PASCAL program to generate ***
  8. *** random numbers.                                                  ***
  9. *** ---------------------------------------------------------------- ***
  10. *** To use this, just insert the code below into a program and ,     ***
  11. *** after compiling the program, link the program's .OBJ file with   ***
  12. *** the RN1.OBJ & RN2.OBJ files. To call the function in a program,  ***
  13. *** type:  INTEGER_RESULT_VARIABLE:= RND(INTEGER_VARIABLE);          ***
  14. *** The function will generate a number batween 1 and the INT_VAR    ***
  15. *** and will place it in the result variable.                        ***
  16. *** NOTE: Both variables must be declared as INTEGER and the one     ***
  17. ***       entering the function must be positive and >0              ***
  18. ************************************************************************
  19.  
  20.  
  21. { code begins with the next line }
  22. Function rnd(value:integer):integer;
  23. var
  24.     dummy,
  25.     time:word;
  26.     low,high:integer;
  27.     rand:real;
  28.  
  29. function clock(dum:word):word;       external;
  30.  
  31. function wrd2lw(wrd:word):integer;   external;
  32.  
  33. function wrd2hi(wrd:word):integer;   external;
  34.  
  35. begin
  36.     time:=clock(dummy);
  37.     low:=wrd2lw(time);
  38.     high:=wrd2hi(time);
  39.     rand:=high+(low/255);
  40.     rand:=sin(rand);
  41.     rand:=abs(rand);
  42.     rand:=trunc(rand*value)+1;
  43.     rnd:=rand;
  44.     end;
  45.